const express = require('express');
const router = express.Router();
const Note = require("../controllers/noteController");
const noteObj = new Note();


// 编写接口

// 发布随笔
// 请求方式 POST
// 请求地址：http://localhost:3001/api/note/publish
// 参数： note_text
router.post('/publish', async (req, res) => {
    let { note_text } = req.body;
    if (note_text == undefined) {
        res.send({
            code: -1,
            msg: "缺少参数"
        })
    } else {
        await noteObj.publish(note_text)
            .then(
                resule => {
                    res.send(resule)
                },
                err => {
                    res.send(err)
                }
            )
    }
})

// 修改随笔
// 请求方式 POST
// 请求地址：http://localhost:3001/api/note/modify?note_text=测试&id=1
// 参数： note_text ，id
router.post('/modify', async (req, res) => {
    let { note_text, id } = req.body;
    if (note_text == undefined || id == undefined) {
        res.send({
            code: -1,
            msg: "缺少参数"
        })
    } else {
        await noteObj.modify(note_text, id).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )
    }
})

// 删除随笔
// 请求方式 POST
// 请求地址：http://localhost:3001/api/note/remove?&id=1
// 参数： id
router.post('/remove', async (req, res) => {
    let id = req.body.id;
    if (id == undefined) {
        res.send({
            code: -1,
            msg: '缺少参数'
        })
    } else {
        await noteObj.remove(id).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )
    }
})

// 获取随笔列表
// 请求方式 POST
// 请求地址：http://localhost:3001/api/note/list
// 参数：page_num page_size
router.post('/list', async (req, res) => {
    const { page_num, page_size } = req.body;
    if (page_num == undefined || page_size == undefined) {
        res.send({
            code: -1,
            msg: '缺少参数'
        })
    } else {
        await noteObj.list(page_num, page_size).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )
    }

})

// 搜索随笔列表
// 请求方式 POST
// 请求地址：http://localhost:3001/api/note/search
// 参数：keyword
router.post('/search', async (req, res) => {
    let { keyword } = req.body;
    if (keyword == undefined) {
        res.send({
            code: -1,
            msg: '缺少参数'
        })
    } else {
        await noteObj.search(keyword).then(
            result => {
                res.send(result)
            },
            err => {
                res.send(err)
            }
        )
    }
})

module.exports = router